package com.gonsin.gview.annotations.board.form;

import com.gonsin.gview.annotations.data.GTreeData;

import java.lang.annotation.Documented;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;

/**
 * 树状下拉选择器
 */
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface GMultiTreeSelector {

    /**
     * 是否有效
     */
    boolean enable() default true;

    /**
     * 是否为必填
     */
    boolean required() default true;

    /**
     * 表单提交时对应的key值
     */
    String keyName() default "";


    /**
     * 下拉框显示的名字
     */
    String name() default "";

//    /**
//     * 数据源
//     */
//    DataSource dataSource() default DataSource.STATIC;
//
//    /**
//     * 静态数据源，格式为 key=value,key1=value1,key2=value2
//     */
//    String[] staticData() default {};

    /**
     * 动态数据源
     */
    GTreeData treeData() default @GTreeData(enable = false);

    /**
     * 判断条件显示，支持js语法，例如   showIf="type==1"
     */
    String showIf() default "1";

    /**
     * 判断条件禁用，支持js语法，例如   disableIf="{{form.type}} == 1"
     */
    String disableIf() default "0";

    /**
     * 单个表单项被修改时，触发具体的action事件
     */
    String onChangeAction() default "";

}
